package com.isotronica.neveras.datos.daos;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import com.isotronica.neveras.util.dtos.MonitorNeveraDTO;
import com.isotronica.neveras.util.vos.DatosVO;

public class DatosDAO extends GenericDAO<MonitorNeveraDTO> {

	public DatosDAO(Connection connection) {
		super(connection);
		
		creator = new CallBackCreator<MonitorNeveraDTO>() {
			public MonitorNeveraDTO create(ResultSet rs) throws SQLException {
				MonitorNeveraDTO vo = new MonitorNeveraDTO();
				
				vo.setIdNevera(rs.getInt("idNevera"));
				vo.setFecha(rs.getDate("fecha"));
				vo.setHora(rs.getTime("hora"));
				vo.setEnergia(rs.getBoolean("energia"));
				vo.setHumedad(rs.getDouble("humedad"));
				vo.setTemperatura(rs.getDouble("temperatura"));
				vo.setCiudad(rs.getString("cuidad"));
				vo.setEmpresa(rs.getString("empresa"));
				vo.setNombreNevera(rs.getString("nombre"));
				vo.setTemMax(rs.getDouble("tempMax"));
				vo.setTemMin(rs.getDouble("tempMin"));
				
				return vo;
			}

			public String getIdColumn() {
				return "idNevera";
			}
		};
		super.setCreator(creator);

	}
	

	public ArrayList<MonitorNeveraDTO> getUltimosDatos() {
		ArrayList<Object> parametros = new ArrayList<Object>();				
				
		try {
			return new ArrayList<MonitorNeveraDTO>(super.callStorageQuery("getUltimosDatos", parametros));
		} catch (SQLException e) {
			e.printStackTrace();
			return null;		}
		
	
	}
	
	
}
